package cn.iocoder.yudao.module.eval.controller.admin.employee.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;

@Schema(description = "管理后台 - 员工信息 Response VO")
@Data
public class EvalEmployeeRespVO {

    @Schema(description = "编号", example = "1")
    private Long id;

    @Schema(description = "用户ID", example = "100")
    private Long userId;

    @Schema(description = "员工编号", example = "EMP001")
    private String employeeCode;

    @Schema(description = "姓名", example = "张三")
    private String name;

    @Schema(description = "身份证号", example = "440123199001011234")
    private String idNumber;

    @Schema(description = "手机号", example = "13800138001")
    private String mobile;

    @Schema(description = "邮箱", example = "zhangsan@example.com")
    private String email;

    @Schema(description = "性别", example = "1")
    private Integer gender;

    @Schema(description = "出生日期", example = "1990-01-01")
    private LocalDateTime birthDate;

    @Schema(description = "学历", example = "6")
    private Integer education;

    @Schema(description = "专业", example = "计算机科学与技术")
    private String major;

    @Schema(description = "毕业院校", example = "清华大学")
    private String graduationSchool;

    @Schema(description = "毕业时间", example = "2012-06-30")
    private LocalDateTime graduationDate;

    @Schema(description = "部门ID", example = "1")
    private Long deptId;

    @Schema(description = "部门名称", example = "技术部")
    private String deptName;

    @Schema(description = "岗位ID", example = "1")
    private Long postId;

    @Schema(description = "岗位名称", example = "Java开发工程师")
    private String postName;

    @Schema(description = "入职时间", example = "2020-01-01")
    private LocalDateTime entryDate;

    @Schema(description = "员工状态", example = "1")
    private Integer employeeStatus;

    @Schema(description = "工作年限", example = "5")
    private Integer workYears;

    @Schema(description = "职业技能等级", example = "高级技师")
    private String skillLevel;

    @Schema(description = "持有证书", example = "[\"计算机二级\",\"英语四级\"]")
    private String certificates;

    @Schema(description = "特长技能", example = "Java开发，数据库设计")
    private String specialSkills;

    @Schema(description = "紧急联系人", example = "李四")
    private String emergencyContact;

    @Schema(description = "紧急联系电话", example = "13900139001")
    private String emergencyPhone;

    @Schema(description = "家庭住址", example = "北京市朝阳区xxx街道")
    private String homeAddress;

    @Schema(description = "备注", example = "优秀员工")
    private String remarks;

    @Schema(description = "创建时间", example = "2024-01-01 10:00:00")
    private LocalDateTime createTime;

}
